The present invention relates to network communications and more particularly, to managing an address table in a network switch.
In computer networks, a plurality of network stations are interconnected via a communications medium. For example, Ethernet is a commonly used local area network scheme in which multiple stations are connected to a single shared serial data path. These stations often communicate with a switch that replaces the shared data path. End stations are connected directly to the switch or to LAN segments that are connected to the switch. Typically, the switch controls the communication of data packets on the network.
The network switch includes switching logic for receiving and forwarding frames to the appropriate destinations. One arrangement for generating a frame forwarding decision uses a direct addressing scheme, where the network switch includes an address table storing switching logic for the destination addresses.
For example, a frame may be received by the network switch with header information indicating the source address and destination address of the frame. The switching logic accesses the address table using the source address and destination address as lookups to find the appropriate frame forwarding information. The switch then uses this information and sends the frame to the appropriate port(s).
One drawback with typical prior art systems employing address tables is that the address table is too small to store address entries for all of the network stations that may be transmitting/receiving data. Additionally, stations that may not be transmitting or receiving data within preset periods of time may be xe2x80x9cagedxe2x80x9d out of the address table, i.e., the address entry deleted or invalidated. After an address is aged out of the table, any frames sent to the deleted address will be flooded to all parts on the switch. This causes unnecessary traffic, and is a poor use of the bandwidth of the end stations that have to receive the unwanted frames.
There exists a need for a switching device that is able to support networks including a large number of stations.
There is also a need for a switching device that includes a programmable address table and is configured to support communications with an overflow address table.
These and other needs are met by the present invention, where a multiport switch includes a decision making engine used to make frame forwarding decisions. The decision making engine is designed to search the address table for frame forwarding information. If the destination address is not found in the address table, the frame is flooded to all parts, excluding the receive port. Depending on the contents of the last table entry that was searched, the frame is also forwarded to the host CPU so that the host CPU can swap the address back into the address table.
Still another aspect provides a switching system comprising: a multiport switch module having a plurality of network switch ports and an address table for storage of network addresses, the multiport switch module configured for searching the address table for an identified network address and outputting a descriptor indicating whether the identified network address was located in the multiport switch module; an external memory configured for storing overflow network addresses; and a host processor configured for controlling the storage of the network addresses and the overflow network addresses in the address table and the external memory, respectively, the host processor selectively swapping address entries between the address table and the external memory based on the descriptor.